package com.easonji.attendance.service;

import com.easonji.attendance.model.OvertimeState;
import com.easonji.common.base.query.BaseQuery;

import java.util.List;


/**
 * <p>
 * 加班状态 服务类
 * </p>
 *
 * @author easonji
 * @since 2018-09-28
 */

public interface IOvertimeStateService  {

    /**
    * 查询加班状态列表
    *
    * @param baseQuery 加班状态列表查询条件
    *
    * @return 加班状态列表
    */
    Object queryList(BaseQuery baseQuery);

    /**
    * 根据加班状态ID，查询加班状态信息
    *
    * @param otsId 加班状态ID
    *
    * @return 加班状态信息
    */
    Object queryRowById(Integer otsId);

    /**
    * 添加 加班状态
    *
    * @param overtimeState 加班状态表单
    * @return 添加结果
    */
    Integer save(OvertimeState overtimeState);

    /**
    * 修改 加班状态
    *
    * @param overtimeState  加班状态表单
    * @return 修孜结果
    */
    Integer  update(OvertimeState overtimeState);

    /**
    * 删除 加班状态
    *
    * @param otsId  加班状态表单
    * @return 删除结果
    */
    Integer  delete(Integer otsId);


    /**
     * 通过审核人查询已审核过的加班 ID
     * @param auditor
     * @return
     */
    List<Integer> queryOvertimeIdByauditor(Integer auditor);

    /**
     * 通过申请表找第一条未审核的记录
     * @param oId
     * @return
     */
    OvertimeState queryOvertimeStateasc(Integer oId);

}
